using System;
using Microsoft.Owin;
using Microsoft.Owin.Security;
using Sharp.Platform.Owin.OAuth.WeiBo.Provider;

namespace Sharp.Platform.Owin.OAuth.WeiBo
{
    public class WeiBoAuthenticationOptions : AuthenticationOptions
    {
        public WeiBoAuthenticationOptions()
            : base("WeiBo")
        {
            Caption = "Weibo";
            CallbackPath = new PathString("/signin-weibo");
            AuthenticationMode = AuthenticationMode.Passive;
            Provider = new WeiBoAuthenticationProvider();
        }
        public string Caption
        {
            get => Description.Caption;
            set => Description.Caption = value;
        }

        public PathString CallbackPath
        {
            get;
            set;
        }

        public string AppKey
        {
            get;
            set;
        }

        public string AppSecret
        {
            get;
            set;
        }

        public string SignInAsAuthenticationType
        {
            get;
            set;
        }

        public ISecureDataFormat<AuthenticationProperties> StateDataFormat
        {
            get;
            set;
        }

        public IWeiBoAuthenticationProvider Provider
        {
            get;
            set;
        }

    }
}
